package basics

import (
	"fmt"
	"net/http"
	"os"
)

func FormatPrintWriterTo() {
	// os.Stdout 写入到标准输出
	// 以下三个函数和Printf/Println/Print函数一样, 只不过上面三个函数是输出到标准输出, 而下面三个 函数可以通过w指定输出到什么地方
	// func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error)
	// func Fprintln(w io.Writer, a ...interface{}) (n int, err error)
	// func Fprint(w io.Writer, a ...interface{}) (n int, err error)
	name := "gaox"
	age := 26
	// 第一个参数: 指定输出到什么地方
	// 第二个参数: 指定格式控制字符串
	// 第三个参数: 指定要输出的数据
	fmt.Fprintf(os.Stdout, "name = %s, age = %d\n", name, age)
	// http.ResponseWriter 写入到网络响应
	http.HandleFunc("/", func(writer http.ResponseWriter, request *http.Request) {
		fmt.Fprintf(writer, "name = %s, age = %d\n", name, age)
	})
	http.ListenAndServe(":8888", nil)
}
